Developed and standardized by the International Organization for Standards (ISO) in 1986, Standard Generalized Markup Language (SGML) is a system for organizing and tagging elements of a document. SGML specifies the rules for tagging elements. The tags can be interpreted to format the tagged elements. Different programs may interpret the tags differently.
Similar to SGML, HyperText Markup Language (HTML) is a markup language used to create documents with hyperlinks, or links, that are portable from one platform to another. Hyperlinks allows one to jump from one document to another on the network, such as Internet, in a non-sequential way. Hyperlinks allows documents to be linked in a complex web of associations, forming the World Wide Web. Typically, hyperlinks are specified using Uniform Resource Locator/Universal Resource Locator (URL), which points to a specific location on the network for the retrieval of a web page.
A web browser, such as Internet Explorer or Netscape Navigator, provides an interface to the World Wide Web. A web browser presents the web documents and accepts user inputs. When a link is selected, the web browser follows the link to retrieve the corresponding web document and present the document. A sophisticated web browser can present web documents of many different formats.
HyperText Markup Language (HTML) supports the submission of data from the web browser to a web server, which typically communicates with web browsers in HyperText Transfer Protocol (HTTP) over a network connection. A web browser may also retrieve web documents using other communication protocols.
For example, a web page may contain a number of user interface elements specified in HTML, such as text entry boxes, radio buttons, checkboxes, selection boxes, buttons, etc. A user can interact with the web browser to provide user data to the corresponding user interface elements. The web page can have one or more buttons, which when pressed cause the web browser to send user data, collected by the web browser for the web page, to the web server. In response, the web server can present a new web page in view of the submitted user data.
In this way, a user may interact with application programs running on the server through the use of web browsers and web servers. On the server side, the application programs communicate with the web server to present data and/or collect user input. The web pages rendered in the web browser can be viewed as the user interfaces of the application programs running on the server.
Dynamic HTML combines HTML, style sheets, and scripts to make web pages more interactive. Cascading Style Sheets (CSS) allow web developers to control the style and layout of multiple web pages in a consistent way. Cascading Style Sheets provide templates for the appearance of one or more HTML elements. Scripts allow web developers to create programs running in the web browser for the associated web page to provide user interaction.
For example, a script may be used to check if the data entered by a user is of a correct type and inform the user when an error is detected. The script can be used to avoid the web browser sending erroneous data to the server and the server responding back a web page pointing out the error(s) which may be easily detected using the script in the web browser.
Extensible Markup Language (XML) is a dialect of SGML. XML allows designers to create their own customized tags, enabling the definition, transmission, validation, and interpretation of data between applications and between organizations. XML has been designed for ease of implementation and for interoperability with both SGML and HTML.
Document Object Model (DOM) is an Application Programming Interface (API) for documents, such as HTML and XML documents. DOM defines the logical structure of documents and the way a document is accessed and manipulated. For example, XML may be used to present data as a document; and DOM can be used to manage the data.
Using DOM, programmers can build documents, navigate their structure, and add, modify, or delete elements and content. Most elements found in an HTML or XML document can be accessed, changed, deleted, or added using DOM, such as graphics, text, headlines, styles, etc.
DOM is designed to be used with any programming language, such as Java, JavaScript, VBScript, ECMAScript (an industry-standard scripting language based on JavaScript and JScript), etc.
A hosting implementation of DOM provides an implementation of the API in accordance with DOM specification so that a client application of DOM can use the interface. Some examples of hosting implementations of DOM are browsers, editors and document repositories.
A client application of DOM uses the hosting implementation of DOM to manipulate documents. Some examples of client applications of DOM are scripts within an HTML or XML document.